<?php
require_once("config.php");
$PAGE_TITLE = "TODO";
$META_DESCRIPTION = "TODO";
$META_KEYWORDS = "TODO";
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="EN" lang="EN" dir="ltr">
<head profile="http://gmpg.org/xfn/11">

<title><?php echo $PAGE_TITLE; ?></title>
<meta http-equiv="Content-Type" content="<?php echo $CONTENT_TYPE; ?>" />
<meta http-equiv="imagetoolbar" content="no" />
<meta name="description" content="<?php echo $META_DESCRIPTION; ?>" />
<meta name="keywords" content="<?php echo $META_KEYWORDS; ?>" />

<link rel="shortcut icon" href="<?php echo $ROOT_ADDRESS; ?>/favicon.ico" />
<link rel="icon" href="<?php echo $ROOT_ADDRESS; ?>/favicon.ico" />

<link rel="stylesheet" href="styles/layout.css.php" type="text/css" />
</head>
<body id="top">
<!-- ####################################################################################################### -->
<?php 
require("header.php"); 
showHeader(2);
?>

<!-- ####################################################################################################### -->
<div class="wrapper col3">
  <div id="container">
    <div id="content">
      <h1>Бесплатное пробное занятие</h1>
	  
	  <?php

		$name = '';
		$email = '';
		$country = '';
		$city = '';
		$skype = '';
		$yahoo = '';
		$gtalk = '';
		$phone = '';
		$timezone = '';
		$lesson_date = '';
		$lesson_time = '';
		$remark = '';
		
		$COUNTRIES = array(	'Абхазия',
							'Азербайджан',
							'Армения',
							'Беларусь',
							'Грузия',
							'Израиль',
							'Казахстан',
							'Киргизия',
							'Латвия',
							'Литва',
							'Молдавия',
							'Монголия',
							'Россия',
							'Таджикистан',
							'Туркменистан',
							'Узбекистан',
							'Украина',
							'Эстония',
							'Южная Осетия');
							
		$TIMEZONES = array (
							'GMT -12 — Линия перемены дат',
							'GMT -11 — Самоа',
							'GMT -10 — Гавайи',
							'GMT -9 — Аляска',
							'GMT -8 — Тихуана, Нижняя Калифорния',
							'GMT -8 — Тихоокеанское время (США и Канада)',
							'GMT -7 — Аризона',
							'GMT -7 — Горное время (США и Канада)',
							'GMT -7 — Ла Пас, Мазатлан, Чихуахуа',
							'GMT -6 — Гвадалахара, Мехико, Монтеррей',
							'GMT -6 — Саскачеван',
							'GMT -6 — Центральное время (США, Канада)',
							'GMT -5 — Богота, Лима, Кито, Рио Бранко',
							'GMT -5 — Восточное время (США и Канада)',
							'GMT -5 — Индиана (восток)',
							'GMT -4:30 — Каракас',
							'GMT -4 — Атлантическое время (Канада)',
							'GMT -4 — Ла-Пас',
							'GMT -4 — Манаос',
							'GMT -4 — Сантьяго',
							'GMT -3:30 — Ньюфаундленд',
							'GMT -3 — Бразилия',
							'GMT -3 — Буэнос-Айрес',
							'GMT -3 — Гренландия',
							'GMT -3 — Джорджтаун',
							'GMT -3 — Монтевидео',
							'GMT -2 — Среднеатлантическое время',
							'GMT -1 — Азорские острова, Кабо-Верде',
							'GMT -1 — о-ва Зеленого мыса',
							'GMT +0 — Западноевропейское время',
							'GMT +0 — Дублин, Эдинбург, Лиссабон',
							'GMT +0 — Лондон, Касабланка, Монровия',
							'GMT +1 — Центральноевропейское время',
							'GMT +1 — Амстердам, Берлин, Берн',
							'GMT +1 — Брюссель, Вена, Копенгаген',
							'GMT +1 — Белград, Братислава, Будапешт',
							'GMT +1 — Сараево, Скопье, Загреб',
							'GMT +1 — Западная Центральная Африка',
							'GMT +2 — Восточноевропейское время',
							'GMT +2 — Афины, Бухарест, Вильнюс, Киев',
							'GMT +2 — Кишинёв, Минск, Рига, София',
							'GMT +2 — Таллин, Хельсинки, Калининград',
							'GMT +2 — Египет, Израиль, Ливан',
							'GMT +2 — Турция, ЮАР',
							'GMT +3 — Московское время',
							'GMT +3 — Найроби, Аддис-Абеба',
							'GMT +3 — Ирак, Кувейт, Саудовская Аравия',
							'GMT +3:30 — Тегеранское время',
							'GMT +4 — Объединённые Арабские Эмираты',
							'GMT +4 — Оман, Азербайджан',
							'GMT +4 — Армения, Грузия',
							'GMT +4:30 — Афганистан',
							'GMT +5 — Екатеринбургское время',
							'GMT +5 — Западноазиатское время',
							'GMT +5 — Исламабад, Карачи, Ташкент',
							'GMT +5:30 — Индия, Шри-Ланка',
							'GMT +5:45 — Непал',
							'GMT +6 — Омское время, Новосибирск',
							'GMT +6 — Центральноазиатское время',
							'GMT +6 — Бангладеш, Казахстан',
							'GMT +6:30 — Мьянма',
							'GMT +7 — Красноярское время',
							'GMT +7 — Юго-Восточная Азия',
							'GMT +7 — Бангкок, Джакарта, Ханой)',
							'GMT +8 — Иркутское время',
							'GMT +8 — Улан-Батор, Куала-Лумпур',
							'GMT +8 — Гонконг, Китай, Сингапур',
							'GMT +8 — Тайвань',
							'GMT +8 — Западноавстралийское время (Перт)',
							'GMT +9 — Якутское время, Корея, Япония',
							'GMT +9:30 — Центральноавстралийское время',
							'GMT +9:30 — Аделаида, Дарвин',
							'GMT +10 — Владивостокское время',
							'GMT +10 — Восточноавстралийское время',
							'GMT +10 — Брисбен, Канберра',
							'GMT +10 — Мельбурн, Сидней',
							'GMT +10 — Тасмания, Гуам, Порт-Морсби',
							'GMT +11 — Магаданское время',
							'GMT +11 — Центрально-тихоокеанское время',
							'GMT +11 — Соломоновы острова',
							'GMT +11 — Новая Каледония',
							'GMT +12 — Маршалловы острова, Фиджи',
							'GMT +12 — Новая Зеландия',
							'GMT +13 — Тонга',
							'GMT +14 — Острова Лайн (Кирибати)' 
		);

		
		if (array_key_exists('_submit_check',$_POST)) {
		  $name = trim($_POST['name']);
		  $email = trim($_POST['email']);
		  $country = trim($_POST['country']); 
		  $city = trim($_POST['city']);
		  $skype = trim($_POST['skype']);
		  $yahoo = trim($_POST['yahoo']);
		  $gtalk = trim($_POST['gtalk']);
		  $phone = trim($_POST['phone']);
		  $timezone = trim($_POST['timezone']);
		  $lesson_date = trim($_POST['lesson_date']);
		  $lesson_time = trim($_POST['lesson_time']);
		  $remark = trim($_POST['remark']);
		
		  // If validate_form() returns errors, pass them to show_form()
		  if ($form_errors = validate_form()) {
			show_form($form_errors);
		} else { 
			// The submitted data is valid, so process it
			process_form();
		  }
		} else {
		  echo '<p>Чтобы заказать бесплатное пробное занятие, заполните форму ниже. Наш учитель свяжется с Вами в указанное время.</p>';
		  // The form wasn't submitted, so display
		  show_form();
		}
		
		$name = '';
		
		function show_form($errors = NULL) {
			global $name;
			global $email;
			global $country;
			global $city;
			global $skype;
			global $yahoo;
			global $gtalk;
			global $phone;
			global $timezone;
			global $lesson_date;
			global $lesson_time;
			global $remark;
		
			$err = false;
			if (!empty($errors))
				$err = true;
			
			echo '
			  <div id="respond">
				<form action="'.$_SERVER['PHP_SELF'].'" method="post">
				  <p>
				    <div style="width:57%;">
						
						<div class="form_label"><label for="name"><b>Имя*</b></label></div>
						<div class="value_block">
								<input type="text" name="name" id="name" value="'.$name.'" size="22" 
								title="Введите ваше настоящее имя. По этому имени мы будем обращаться к вам. "/>
					';
			//if (!$err) echo '<span class="tip">Мы будем обращаться к вам по этому имени. </span>';
			printError('name',$errors, $err);
			echo '	
						</div>	
					</div>
					
				  </p>
				  <br class="clear"/>
				  <p><div style="width:57%;">
					<div class="form_label"><label for="email"><b>Эл. почта*</b></label></div>
					<div class="value_block"><input type="text" name="email" id="email" value="'.$email.'" size="22" title="Введите действительный адрес электронной почты, чтобы мы могли с вами связаться. "/>
					';
			printError('email',$errors, $err);
			
			echo '
						</div>	
					</div>
				  </p>
				  <br class="clear"/>
				  <p><div style="width:57%;">
					<div class="form_label"><label for="skype">Skype</label></div>
					<div class="value_block"><input type="text" name="skype" id="skype" value="'.$skype.'" size="22" title="Оставьте поле пустым, если вы не пользуетесь Skype. "/>
					';
			printError('skype',$errors, $err);
			echo '
						</div>	
					</div>
				  </p>
				  <br class="clear"/>
				  <p><div style="width:57%;">
					<div class="form_label"><label for="gtalk">Google Talk</label></div>
					<div class="value_block"><input type="text" name="gtalk" id="gtalk" value="'.$gtalk.'" size="22" title="Оставьте поле пустым, если вы не пользуетесь Google Talk. "/>
					';
			printError('gtalk',$errors, $err);
			echo '
						</div>	
					</div>
				  </p>
				  <br class="clear"/>
				  <p><div style="width:57%;">
					<div class="form_label"><label for="yahoo">Y! Messenger</label></div>
					<div class="value_block"><input type="text" name="yahoo" id="yahoo" value="'.$yahoo.'" size="22" title="Оставьте поле пустым, если вы не пользуютесь Yahoo! Messenger. "/>
					';
			printError('yahoo',$errors, $err);
			
			echo '
						</div>	
					</div>
				  </p>
				  <br class="clear"/>
				  <p><div style="width:57%;">
					<div class="form_label"><label for="phone">Телефон</label></div>
					<div class="value_block"><input type="text" name="phone" id="phone" value="'.$phone.'" size="22" title="Укажите код страны, код города и номер телефона. Важно! Если вы оставили пустыми три предыдущих поля, то обязательно укажите ваш телефон. "/>
					';
			printError('phone',$errors, $err);
			
			echo '
						</div>	
					</div>
				  </p>
				  <br class="clear"/>
				  <p><div style="width:57%;">
					<!--<div class="form_label"><label for="timezone">Часовой пояс</label></div>-->
					<div class="value_block" style="width:100%;"><select style="width:100%" type="text" name="timezone" id="timezone" title="Если вы не уверены, в каком часовом поясе находитесь, то укажите страну и город в следующих полях. ">
					  <option value="0">Выберите часовой пояс</option>';
					  global $TIMEZONES;
					  $i = 0;
					  foreach ($TIMEZONES as $value) {
						echo '<option '.($timezone==strval(++$i)?'selected="selected"':'').' value="'.$i.'">'.$value.'</option>';
					  }
			echo   '</select>
					';
			printError('timezone',$errors, $err);
			echo '
						</div>	
					</div>
				  </p>
				  <br class="clear"/>
				  <p><div style="width:57%;">
					<div class="form_label"><label for="country">Страна</label></div>
					<div class="value_block"><select style="width:175px;" type="text" name="country" id="country" title="Если вы не выбрали часовой пояс, то обязательно укажите страну и город. ">
					  <option value="0">Выберите страну</option>';
					  global $COUNTRIES;
					  $i = 0;
					  foreach ($COUNTRIES as $value) {
						echo '<option '.($country==strval(++$i)?'selected="selected"':'').' value="'.$i.'">'.$value.'</option>';
					  }
			echo   '</select>
					';
			printError('country',$errors, $err);
			echo '
						</div>	
					</div>
				  </p>
				  <br class="clear"/>
				  <p><div style="width:57%;">
					<div class="form_label"><label for="city">Город</label></div>
					<div class="value_block"><input type="text" name="city" id="city" value="'.$city.'" size="22" title="Если вы не выбрали часовой пояс, то обязательно укажите страну и город. "/>
					';
			printError('city',$errors, $err);
			echo '
						</div>	
					</div>
				  </p>
				  <br class="clear"/>
				  <p><div style="width:57%;">
					<div class="form_label"><label for="lesson_date"><b>Дата занятия*</b></small></label></div>
					<div class="value_block"><input type="text" name="lesson_date" id="lesson_date" value="'.$lesson_date.'" size="22" title="Введите дату в формате ДД.ММ.ГГ, когда вы бы хотели провести занятие. "/>
					';
			printError('lesson_date',$errors, $err);
			echo '
						</div>	
					</div>
				  </p>
				  <br class="clear"/>
				  <p><div style="width:57%;">
					<div class="form_label"><label for="lesson_time"><b>Время занятия*</b></small></label></div>
					<div class="value_block"><input type="text" name="lesson_time" id="lesson_time" value="'.$lesson_time.'" size="22" title="Введите время в формате ЧЧ:ММ, когда бы вы хотели провести занятие. "/>
					';
			printError('lesson_time',$errors, $err);
			
			
			echo '
						</div>	
					</div>
				  </p>
				  <br class="clear"/>
				  <p>
				    <div class="form_label"><label for="comment">Примечание</label></div>
					<textarea name="remark" id="remark" cols="100%" rows="10">'.$remark.'</textarea>
					';
			printError('remark',$errors, $err);
			echo '
				  </p>
				  <input type="hidden" name="_submit_check" value="1"/>
				  <br class="clear"/>
				  <p>
					<input name="submit" type="submit" id="submit" value="Заказать бесплатно" />
					&nbsp;
					<input name="reset" type="reset" id="reset" tabindex="5" value="Очистить" />
				  </p>
				</form>
				<br class="clear"/>
				<p>* - обязательные поля. </p>
			  </div>';
		}
		function printError ($param, $errors, $err_flag){
		    if ($err_flag && array_key_exists($param,$errors))
				echo '<span class="error">'.$errors[$param].'</span>';
			
		}
		
		function validate_form(){
			$errors = array();
			global $name;
			if (empty($name))
			  $errors['name'] = 'Пожалуйста, введите ваше имя. ';
			
			global $email;
			if (empty($email)|| !isValidEmail($email))
				$errors['email'] = 'Пожалуйста, введите правильный e-mail. ';
			
			global $yahoo;
			if (!empty($yahoo) && !isValidEmail($yahoo))
				$errors['yahoo'] = 'Пожалуйста, введите правильный Yahoo! ID или оставьте поле пустым. ';
			
			global $phone;
			if (!empty($phone) && !isPhoneValid($phone))
				$errors['phone'] = 'Пожалуйста, введите правильный номер телефона или оставьте поле пустым. ';
			
			global $skype;
		    global $gtalk;
			if (empty($skype)&&empty($gtalk)&&empty($yahoo)&&empty($phone)){
				$msg = 'Пожалуйста, обязательно укажите либо имя вашего аккаунта в Skype, Google Talk или Yahoo! Messenger, либо ваш номер телефона. ';
				$errors['phone'] = $msg;
			}
			
			
			global $timezone;
			global $country;
			global $city;
			if ((empty($timezone) || $timezone==0) && (empty($country)||$country==0) && empty($city))
			  $errors['timezone'] = 'Пожалуйста, выберите ваш часовой пояс или укажите вашу страну и город. ';
			
			global $lesson_date;
			if (empty($lesson_date))
			  $errors['lesson_date'] = 'Пожалуйста, введите дату, когда бы вы хотели провести занятие. ';
			global $lesson_time;
			if (empty($lesson_time))
			  $errors['lesson_time'] = 'Пожалуйста, введите время, когда бы вы хотели провести занятие. ';
			
			return $errors;
		}
		
		function process_form() {
			global $SMTP_HOST;
			global $SMTP_PORT;
			global $SMTP_USERNAME;
			global $SMTP_PASSWORD;
			global $SMTP_FROM_EMAIL;
			global $COMPANY_NAME;
			global $SMTP_REPLY_TO_EMAIL;
			
			global $name;
			global $email;
			global $country;
			global $city;
			global $skype;
			global $yahoo;
			global $gtalk;
			global $phone;
			global $timezone;
			global $lesson_date;
			global $lesson_time;
			global $remark;
			
			global $COUNTRIES;
			global $TIMEZONES;
		
		
			require($ROOT_DIR . "lib/phpmailer/class.phpmailer.php");
			$mail = new PHPMailer();
			
			$mail->IsSMTP();
			
			$mail->Host = $SMTP_HOST;
			$mail->Port = $SMTP_PORT;
			$mail->SMTPAuth = true;
			$mail->Username = $SMTP_USERNAME;
			$mail->Password = $SMTP_PASSWORD;
			$mail->From = $SMTP_FROM_EMAIL;
			$mail->FromName = $COMPANY_NAME;
			$mail->AddReplyTo($SMTP_REPLY_TO_EMAIL);
			$mail->AddAddress($SMTP_FROM_EMAIL);
			$mail->IsHTML(true);
			$mail->Subject = "Free lesson request";
			$mail->Body = "Someone requests a free lesson. <br/>Form data: "
						. "<br/>Name: ". $name
						. "<br/>E-mail: ". $email
						. "<br/>Country: ". ( ($country==0||empty($country))?"":$COUNTRIES[$country-1])
						. "<br/>City: ". $city
						. "<br/>Skype: ". $skype
						. "<br/>Google Talk: ". $gtalk
						. "<br/>Y! Messenger: ". $yahoo
						. "<br/>Phone: ". $phone
						. "<br/>Timezone: ". ( ($timezone==0||empty($timezone))?"":$TIMEZONES[$timezone-1])
						. "<br/>Lesson date: ". $lesson_date
						. "<br/>Lesson time: ". $lesson_time
						. "<br/>Remark: ". $remark ;
			
			if ($mail->Send()){
				echo '<p>Ваша заказ принят. Наш преподаватель позвонит Вам в указанное время. При необходимости мы свяжемся с Вами для уточения деталей. </p>';
			} else {
				echo "<p class=\"error\">Ваш заказ <b>не</b> принят. Во время обработки заказа произошла ошибка. <p>";
				echo "<p>" . $mail->ErrorInfo . "</p>";
			}
		
			
		}
		
		function isValidEmail($email){
			return preg_match("/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,4})$/", $email);
		}
	    function isPhoneValid($phone) {
			//1-800-328-7448
			//XX.XX.XX.XX.XX
			//XX XX XX XX XX
			//0 800 XX XX XX
			//XXX XX XX
			//XXX-XX-XX
			//00 49 (XX XX) XX XX XX
			//(0 XX XX) X XX
			//XX-XX-XX
			//020 XXXX XXXX
			//+44 20 XXXX XXXX
			//0XXXX XXXXXX
			//0800 XXXXXX
			//123-45-67
			//12-34-56
			//1-23-45
			//12-34
			//(123) 123-45-67
			//(1234) 12-34-56
			//(12345) 1-23-45
			//(123456) 12-34
			//8 123 123-45-67
			//+7 123 123-45-67
			//+7 1234 12-34-56
			//+7 12345 1-23-45
			//+7 123456 12-34
			return preg_match("/^[\+0-9][0-9\-\.\(\)\s]+[0-9]$/", $phone);
		}
	  ?>
	  
	  
      
	  
    </div>
    
	<?php require("column.php"); ?>
  </div>
</div>
<!-- ####################################################################################################### -->
<?php require("footer.php"); ?>

</body>
</html>